ALBのACM証明書をEmail検証からDNS検証に移行する方法
SBJソリューション部のserinaです。
ACM証明書の移行方法について書いていきます。
ACMの認証方式は、DNS検証とEメール検証の2種類あります。
Eメール検証で作成したACMは以下のサポートがしなくなります。
2024 年 6 月以降、ACM は WHOIS 連絡先アドレスによる新規 E メールの検証をサポートしなくなります。
既存の証明書については、2024 年 10 月以降、ACM はドメインの WHOIS 連絡先アドレスに更新通知を送信しません。
ACM は引き続き、リクエストされたドメインの 5 つの共通システムアドレスに検証 E メールを送信します。
引用元:E メール検証 - 重要
既存のEメール検証のACMからDNS検証のACMへの切り替え作業の手順をまとめます。
切り替えに伴うダウンタイム
発生しません。
Q: ACM で更新された証明書がデプロイされた場合、サイトの既存の接続は失われますか?
いいえ。新しい証明書がデプロイされた後に確立された接続では、新しい証明書を使用しているため、既存の接続に影響はありません。
参照元:AWS Certificate Manager - よくある質問
切り戻し方法
元の証明書に再度付け替えます。
手順
1. ACMから、証明書をDNS検証で作成する
AWS Certificate Manager Certificates > Request certificateから作成します。
Validation methodでDNS validation - recommendedを選択します。
Requestボタンを押せば作成完了です。
2. 作成されたCNAMEをレコードに登録する
この状態ではまだステータスが、Pending validationになっているので、
ドメインにこのCNAMEを登録して有効化していきます。
Create records in Route 53のボタンをクリックして、CNAMEをレコード登録します。
対象のドメインを選択して、Create recordsをクリックします。
作成が成功しました。
Route53の一覧で見てもCNAMEのレコードが追加されていることを確認できます。
3. ACMでステータスが発行済になっていることを確認する
数分後にIssuedになったことを確認できました。
4. ALBのリスナーが参照する証明書をDNS検証で作成された証明書に切り替える
該当のALBのListeners and rulesからEdit listenerを選択します。
DNS検証で作成した証明書に変更します。
これで付け替えが完了しました。
5. ACMのCertificatesから証明書を削除する
証明書を切り替えるとデフォルトの証明書が切り替えられた、という意味合いになるのか既存の証明書が残ってしまいます。
なのでもう使用しない証明書を削除します。
HTTPS:443のリンクをクリックします。
Certificatesタブを選択します。
removeボタンをクリックし、使わなくなった証明書を削除します。
6. Eメール認証で作成された証明書を削除する
最後に、不要になった証明書を削除します。
In UseがNoになっていることからも付け替えが完了したことが確認できます。
おわりに
付け替えた際に、ALBのCertificatesに2つ証明書が表示されていて、指定した証明書がデフォルトになる、というのが予想外の挙動でした。
作業を行ったことで、ドメイン周りについて勉強することができ良かったです。